#ifndef ROUTE_H
#define ROUTE_H

#include <QString>
#include <QList>
#include "constants.h"

class Point;

// Класс для хранения маршрута.

class Route
{
private:
    unsigned long id;
    QString name;
    QList <QString> fileList;
    QList <unsigned long> pointList;
public:
    Route(void);
    Route(const QString&, const unsigned long& = 0);
    ~Route();
    void ClearRoute(void);
    bool SetName(const QString&);
    QString GetName(void) const;
    void SetID(const unsigned long&);
    unsigned long GetID(void) const;
    void AddPoint(const unsigned long&);
    unsigned long GetPointCount(void) const;
    unsigned long GetPoint(const int& = 0) const;
    bool RemovePoint(const unsigned long&);
    bool IsPointBelong(const unsigned long&) const;
    QList <unsigned long> GetPointList(void) const;
    bool AddFile(const QString&);
    unsigned long GetFileCount(void) const;
    QString GetFileName(const int& = 0) const;
    QList <QString> GetFileList(void) const;
    void DeleteFile(const int&);
};

#endif // ROUTE_H
